# -*- coding: utf-8 *-*

#   This file is part of Sql-Rice.
#
#    Sql-Rice is free software; you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation; either version 3 of the License, or
#    (at your option) any later version.
#
#    Sql-Rice is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with Sql-Rice; if not, write to the Free Software
#    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA

import Tkinter
import action_area


class Window(Tkinter.Tk):

    def __init__(self):
        Tkinter.Tk.__init__(self)
        self.layout = None
        self.widgets = {}

        self.actions = action_area.ActionArea(master=self)
        self.actions.pack(side=Tkinter.BOTTOM)

    def add_widget(self, widget):
        self.widgets[widget.name] = widget
        widget.pack()

    def set_layout(self, layout):
        self.layout = layout

    def show(self):
        self.mainloop()

    def update(self, values):
        for name, widget in self.widgets.items():
            try:
                widget._value.set(values[name])
            except (KeyError, IndexError):
                widget._value.set('')
#FIXME:
#Next line have a weird behaviour , not set the value
#                widget.value = values[0][name]
